#include <REGX52.H>
#include "Delay.h"

sbit RCK=P3^5;
sbit SCK=P3^6;
sbit SER=P3^4;

#define MATRIX_LED_PORT    P0

/**
  * @brief  74HC595写入一个字节
  * @param  Byte，一个字节
  * @retval 
  */
void _74HC595_WriteByte(unsigned char Byte)
{
	unsigned char i=0;
	for(i=0;i<8;i++)
	{
		SER=Byte&(0x80>>i);
		SCK=1;
		SCK=0;
	}
	RCK=1;
	RCK=0;
}
/**
  * @brief  初始化点阵屏
  * @param  无
  * @retval 无
  */
void MatrixLED_Init()
{
	SCK=0;
	RCK=0;
}
/**
  * @brief  点阵屏显示一列数据
  * @param  Clumn,选中列，范围0~7,0在最左边
* @param  Data,选中列显示数据，高位在上，1为亮，范围0~255
  * @retval 
  */
void MatrixLED_ShowColumn(unsigned char Clumn,Data)
{
	_74HC595_WriteByte(Data);
	MATRIX_LED_PORT=~(0x80>>Clumn);
	Delay(1);
	MATRIX_LED_PORT=0xFF;
}
